﻿/*
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
           佛祖保佑       永无BUG
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Gay.DLL;
using Gay.IBLL;
using Gay.IDLL;


/***********************************************************************

 * Copyright (c) 2016 All Rights Reserved.
 * CLR版本： 4.0.30319.42000
 *机器名称：ROBIN-PC
 *命名空间：Gay.BLL
 *文件名：  BaseBLL
 *版本号：  V1.0.0.0
 *唯一标识：f6c6426d-6b51-441c-882f-e1243f268969
 *当前的用户域：ROBIN-PC
 *创建人：  luoda
 *电子邮箱：admin@52res.com
 *创建时间：2016/1/2 22:33:04
 *描述：
 *
 *=====================================================================
 *修改标记
 *修改时间：2016/1/2 22:33:04
 *修改人： luoda
 *版本号： V1.0.0.0
 *描述：
 *
***********************************************************************/

namespace Gay.BLL
{
    /// <summary>
    /// BLL基类
    /// </summary>
    public abstract class BaseBLL<T> :InterfaceBaseBLL<T> where T : class
    {
        /// <summary>
        /// dal对象(接口形式)
        /// </summary>
        protected InterfaceBaseDAL<T> CurrentDAL { get; set; }
        /// <summary>
        /// 这个类的构造函数中要传入一个参数就是currentDal
        /// 说明当前的dal类型
        /// 但是实际上传入的是Model对应的dal(可以由dal静态类DALFactory dal工厂生成返回)
        /// </summary>
        /// <param name="currentDAL"></param>

        public T Add(T entity)
        {
            return CurrentDAL.Add(entity);
        }

        public bool Delete(T entity)
        {
            return CurrentDAL.Delete(entity);
        }

        public bool Update(T entity)
        {
            return CurrentDAL.Update(entity);
        }
    }
}
